home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1998 March / Macworld (1998-03) (Disk 1).dmg / Shareware World / Info / For Developers / GhostScript 5.10 / MacGS.txt < prev    next >
Text File  |  1997-12-25  |  18KB  |  440 lines

  1.  
  2. MacGS-510
  3.  
  4. A port of Aladdin Ghostscript to the Macintosh
  5.  
  6. Version 503 ã Oct 18th, 1997
  7.  
  8. Version 510 ã Dec 1st, 1997
  9.  
  10. Ghostscript by L. Peter Deutsch
  11. MacGS  & Macintosh drivers by Jeff Schindall
  12.  
  13. Copyright © 1988-1995, 1997 Aladdin Enterprises,
  14. Menlo Park, CA.  All rights reserved.
  15. Very Quick Introduction to Ghostscript
  16.  
  17. Ghostscript is a PostScript interpreter.  PostScript is a language, not a 
  18. graphic file format.  A PostScript file is really a program, not graphical 
  19. data.  The difference is that by looking at a PostScript file you (or an 
  20. application) cannot easily tell what the file represents.  Instead, you 
  21. must run the file to see what it does.  Generally, the result of running a 
  22. PostScript program is to draw marks on a graphical page.  (There are 
  23. PostScript programs that don't draw anything at all!  Some are even 
  24. distributed as test files with Ghostscript.)  This works well for printers 
  25. but is a bit odd for interactive window systems.
  26.  
  27. Think of MacGS as a virtual printer: Every time you open a file, asking 
  28. Ghostscript to run it as a PostScript program, the application creates a 
  29. new sheet of 'paper' and displays it in a window.  You can see the program 
  30. execute as it places marks on the 'paper' in the window (unless your 
  31. computer is much faster than mine!)  Once the program is done, the page is 
  32. 'ejected' from the printer.  However, the application leaves the window on 
  33. the screen so you can continue to look at it (and scroll it, save it, 
  34. etc.).  But remember, at this point, the page is out of the printer and 
  35. Ghostscript can no longer change it.  If you want to change some parameter 
  36. (such as scaling), you must change the parameter and then re-open, and thus 
  37. re-run, the PostScript file.
  38.  
  39. Please see the file readme and the files that end in .txt in the doc 
  40. folder for more information.
  41.  
  42. Unpacking
  43.  
  44. The release consists of the following files:
  45.  
  46.   macgs-510-files.sit  ã Ghostscript files and documentation
  47.   macgs-510-68k.sit    ã the application compiled for 68020 or better
  48.   macgs-510-ppc.sit    ã the application compiled for PPC machines
  49.   macgs-510-fat.sit     ã the application compiled for both 68k and PPC machines
  50.   macgs-510-fonts.sit  ã the standard Ghostscript 5.xx fonts
  51.   macgs-510-src.sit    ã the source files
  52.  
  53. These files are StuffIt archives.  If you do not have a program to expand 
  54. these, you should get the free StuffIt Expander program from your favorite 
  55. Macintosh archive.
  56.  
  57. For users who have limited memory, the following executables are provided:
  58.  
  59.   macgs-lite-510-68k.sit    ã the application compiled for 68020 or better
  60.   macgs-lite-510-ppc.sit    ã the application compiled for PPC machines
  61.   macgs-lite-510-fat.sit     ã the application compiled for both 68k and PPC machines
  62.  
  63. The "Lite" version of MacGS contains only the macintosh rendering device, 
  64. and the pdfwriter device.
  65.  
  66. [ 1 ] Unstuff macgs-510-files.sit.  It will create a folder named 
  67. Ghostscript on your disk.
  68.  
  69. [ 2 ] Unstuff one of the two application files, macgs-510-68k.sit or 
  70. macgs-510-ppc.sit into the Ghostscript folder.  Remember to only unstuff 
  71. one of them!  The Finder gets confused if you have more than one version of 
  72. an application on a disk.
  73.  
  74. [ 3 ] Unstuff macgs-510-fonts.sit into the Ghostscript folder as well.  
  75. This exactly the same collection of fonts as 
  76. ghostscript-fonts-std-3.0.tar.gz, just in a format most Macintosh users can 
  77. handle.
  78.  
  79. You will only need macgs-510-src.sit if you are planning on compiling the 
  80. program yourself.  See the chapter "Building It" for more details.
  81.  
  82.  
  83.  
  84. Starting
  85.  
  86. Launch the application.  By default, it will show you the Ghostscript 
  87. console window, where you can see messages to and from Ghostscript.  After 
  88. a few seconds, all initialization will be done and you will see the åGS>π 
  89. prompt in the console window.  You donπt actually have to wait for the 
  90. prompt to begin using the program, anything that needs to wait for the 
  91. prompt will do so automatically if you do it too early.
  92.  
  93.  
  94.  
  95. Getting Help
  96.  
  97. The program makes extensive use of Balloon Help.  Turn it on and explore!
  98.  
  99. Rendering a PostScript File
  100.  
  101. Choosing 'Open' from the 'File' menu lets you choose any TEXT or EPSF file.  
  102. When you open a file this way, a new window is created, it is presented to 
  103. Ghostscript for interpretation.  This (usually) results in rendering the 
  104. first page of the file into the window.
  105.  
  106. If there are more pages in the file, you will see a small alert box with 
  107. two buttons: 'Next Page' and 'Interrupt'.  Clicking the first will clear 
  108. the window and let Ghostscript continue on with the next page in the file.  
  109. Clicking the second asks Ghostscript to cancel processing the rest of the 
  110. file.
  111.  
  112. Once a file has been rendered, it stays on the screen.  You can resize, 
  113. scroll it, save it (as a PICT file), copy it (to the clipboard).  You can 
  114. have as many windows open as memory allows.
  115.  
  116. Printing a PostScript File
  117.  
  118. After opening a document, you may print it by choosing the command 'Print' 
  119. from the 'File' menu.   A "settings" dialog is presented for you to adjust the
  120. imaging options.  Next, the standard print dialog appears and the user may
  121. set the page range or print the entire document.  If a page range is selected, 
  122. then the MacGS make take some time and consume a considerable amount of 
  123. memory skipping to the pages to be printed.
  124.  
  125.  
  126. Settings
  127.  
  128. You can change the settings of output media with the "Settings" dialog.  
  129. Open this dialog by choosing "Settings..."  from the "Edit" menu.  There 
  130. are three major sections:
  131.  
  132. Page Size lets you set the size of the 'logical' page.  This is the size 
  133. that the PostScript file works with.
  134.  
  135. Scaling lets you enlarge or reduce the 'logical' page to produce the actual 
  136. output you see.  This scaling happens conceptually after the page is 
  137. printed.  However, Ghostscript is aware of this final scaling and will 
  138. adjust some parameters accordingly (such as halftone screen, or any other 
  139. parameters that are in 'device coordinates').
  140.  
  141. Image Options let you select options that pertain to how the image is 
  142. rendered and recorded.
  143.  
  144. For example, if you want to render a document that was designed for a 
  145. Letter size paper, but you want the output to be reduced to half size, then 
  146. choose "US Letter" for the Page Size and "Half" for the Scaling.
  147.  
  148. There are too many controls and options in this dialog to discuss here: 
  149. Turn on balloon help and explore it!
  150.  
  151. The options apply to all devices (see below), except Image Options which 
  152. only apply to the 'mac' device.
  153.  
  154.  
  155. Using MacGS as a Web Helper Application
  156.  
  157. You can use MacGS as a helper application for your web browser.  The 
  158. following steps show how to configure the Netscape browser.  If you are 
  159. using a different browser, the configuration will be similar:
  160.  
  161. [ 1 ] In the Preferences section called Helper Applications, check to see 
  162. if there is a Mime type application/postscript.  If there isn't, then click 
  163. New...  and create one: In the dialog that appears, set the type to 
  164. application, and the subtype to postscript, then click OK.
  165.  
  166. [ 2 ] Select the application/postscript Mime type by clicking on it.
  167.  
  168. [ 3 ] Set the extensions by typing ai,eps,ps into the Extensions field.
  169.  
  170. [ 4 ] Set the application by clicking the Browse...  button.  In the dialog 
  171. that appears, choose the MacGS application and click OK. Then choose the 
  172. File type TEXT from the pop-up menu.
  173.  
  174. [ 5 ] Set the action to Launch Application.
  175.  
  176. [ 6 ] Click OK in the Preferences window to save the changes.
  177.  
  178. Some browsers, though not Netscape, may need to be restarted before the 
  179. change will take effect.
  180.  
  181. IMPORTANT: Postscript includes operators for manipluating files.  A buggy 
  182. or malicious postscript file could damage the files on your harddisk.  To 
  183. minimize this risk, you should start MacGS and set the command line in the 
  184. Preferences to: -dSAFER
  185.  
  186. This disable a number of file operations in Ghostscript.  Note that there 
  187. are two problems with this: (a) This option does not claim to be fool proof 
  188. - Postscript is very powerful and this option can't guard against all 
  189. possible problems.  (b) You will be unable to render to any of the file 
  190. devices when this is set.  However, you still be able to save what you 
  191. render to the screen as PICT files.
  192.  
  193. To turn off this feature, you need to remove -dSAFER from the command line 
  194. in the Preferences dialog, then quit and restart MacGS. Rendering to a File
  195.  
  196. Ghostscript supports a large number of graphic output formats.  Ghostscript 
  197. calls these devices.  When your copy of the Macintosh port of Ghostscript 
  198. was built, some devices were chosen to be included.  Since there are over a 
  199. hundred devices, generally not all were included.  When you run the 
  200. application, the devices that are included are listed in the 'Devices' 
  201. menu.  The first one is always 'mac', which is the device for rendering 
  202. into a Macintosh window.
  203.  
  204. To use another device, and cause Ghostscript to render into a graphic file, 
  205. choose the device from the Device menu, and then open the file as normal.  
  206. This time, instead of a new window appearing, you will be asked to named a 
  207. file to hold the output.  The settings dialog can be used to set the page 
  208. size and scaling options.  Note that the image options have no effect on 
  209. other devices.  To switch back to rendering into a window, just choose 
  210. 'mac' from the 'Devices' menu.
  211.  
  212. Stopping the Application
  213.  
  214. You can attempt to interrupt Ghostscript from whatever it is doing with the 
  215. <command><period> key sequence (it is also available as 'Interrupt' in the 
  216. 'Ghostscript' menu).  Interrupting a PostScript program is inherently 
  217. unpredictable.  This is because a PostScript file can trap the 
  218. user-interrupt and refuse to stop!  Interrupt is implemented so that it 
  219. should work smoothly in most cases, but you can't be sure.  If it doesn't 
  220. work, hit it a few more times.
  221.  
  222. Similarly, Quit is also something that a PostScript program can refuse to 
  223. do!  Sometimes, Ghostscript may not appear not to quit.  Always give it a 
  224. few seconds to try.  If it just won't quit, the work around is to type: 
  225. <option><command><escape> (all at once) to invoke the System 7 Forced Quit 
  226. dialog.
  227.  
  228. About Rendering
  229.  
  230. Ghostscript interprets PostScript programs and renders the graphics that 
  231. they output.  The resulting output image is invariably device dependent.  
  232. Indeed, the original PostScript file is the device independent form of the 
  233. image.
  234.  
  235. Even though the images that Ghostscript renders can be saved in PICT files 
  236. or on the clipboard in PICT format, these are still device dependent 
  237. versions of the image: they will not scale well, nor will they display well 
  238. with different numbers of available colors.  These PICT images are simply 
  239. pixel graphics, not object-oriented graphics.  (If you examine these PICT 
  240. files in a graphics program, you will notice that they are just a single 
  241. large pixel map.)
  242.  
  243.  The Macintosh device currently renders to any of the following 
  244.  characteristics (which you control in the Settings dialog): 72 dpi 1, 4, 
  245.  or 8 bits per pixel standard Macintosh palettes for 4-bit gray, or 8-bit 
  246.  color
  247.  
  248. These choices must be made at the time Ghostscript renders an image so that 
  249. Ghostscript can do its best.  For example, Ghostscript will use halftone 
  250. screens to achieve colors not in the palette.
  251.  
  252. Though the scaling options may change the dpi from the point of view of the 
  253. PostScript program, the resulting image on the screen (obviously, as we 
  254. can't change your hardware on the fly!)  and as saved in a PICT file, is 
  255. 72dpi.  For example: If you choose a scaling option of a "Third", the 
  256. PostScript program appears to render on a 24dpi device, as 24 pixels make 
  257. up an inch.  On the screen, however, 24 pixels make up a third of an inch 
  258. at 72dpi, thus achieving the 'Third' scaling factor.
  259.  
  260. The standard Macintosh 8-bit palette is a color cube of 6x6x6 values in RGB 
  261. space.  In addition, it adds evenly spaced ramps of 16 values each of red, 
  262. green, blue, and gray.  Using this palette allows Ghostscript to render 
  263. with out having the change the palette of a normal 8-bit display system.
  264.  
  265. Preferences
  266.  
  267. There are a number of application settings that can be set with 
  268. "Preferences" dialog.  Open this dialog by choosing "Preferences..."  from 
  269. the "File" menu.  There are three major sections:
  270.  
  271. Command Line lets you choose what the command line is for starting 
  272. Ghostscript.  Generally leaving it empty is fine.  You can also choose to 
  273. have the program ask you each time the program starts.
  274.  
  275. Windows and Dialogs let you set which windows are shown at start up, and 
  276. how to handle the Next Page condition.  You can choose to have either a 
  277. sound play or a small dialog appear, or both, when Ghostscript is waiting 
  278. to display another page.
  279.  
  280. Remember lets you choose what information is remembered from one invocation 
  281. of the application to the next.
  282.  
  283.  
  284. Command Line
  285.  
  286. By default, Ghostscript is started with a blank command line.  This can be 
  287. changed in two ways.  First, you can set the command line in the 
  288. preferences.  Second, you can set the preferences to ask you each time the 
  289. application starts.  In this mode, when you start the program, you will see 
  290. a prompt for command line options in the console window.
  291.  
  292. Almost everything that can be set on a command line can be set after 
  293. Ghostscript is running either through the Settings dialog, or by typing 
  294. into the console window.  However, there are few command line options that 
  295. can be useful:
  296.  
  297.  -v      prints version information and then quits
  298.  -?      prints help information and then quits
  299.  -dDEBUG turns on debugging during initialization
  300.  
  301. Do not set either of the first two as part of a default command line in the 
  302. Preferences dialog, or each time you start it, Mac GS will display the 
  303. information and quit.
  304.  
  305. Building MacGS
  306.  
  307. If you want to build the release (so you can configure Ghostscript to
  308. your liking), you will need the current Ghostscript release and
  309. the macintosh specific files.
  310.  
  311. From the standard Ghostscript ftp site, obtain the following files:
  312.  
  313. in directory /ghost/aladdin:
  314.     
  315.     gs5xx.tar.gz - .ps and .doc files - source files - headers and make files
  316.     ghostscript-fonts-std-5xx.tar.gz - the fonts
  317.  
  318. where xx is the latest version of Ghostscript.  The fonts listed above are 
  319. identical to the ones in the Macintosh distribution.
  320.  
  321. in directory /ghost/aladdin/mac:
  322.     
  323.     macgs-510-src.sit - source files
  324.  
  325. in directory /ghost/aladdin/510:
  326.     
  327.     ghostscript-5.03jpeg.tar.gz
  328.     ghostscript-5.03libpng.tar.gz
  329.     ghostscript-5.03zlib.tar.gz
  330.  
  331. In the standard method of building Ghostscript, all of these files (except 
  332. the jpeg/libpng/zlib) get unpacked into one big directory.  The supporting library
  333. stuff gets unpacked into a directory called jpeg-5a in the main directory.  The 
  334. macintosh stuff also gets unpacked into its own directory, called 'Mac 
  335. Specific'.  However, if you like (and I do) you can divide up all these 
  336. files into the following hierarchy:
  337.  
  338.     Ghost Dev
  339.         files -- all *.ps, *.doc, and other non-build files
  340.         fonts -- all the fonts
  341.         gs5.03 -- *.c, *.h, *.mak
  342.         jpeg-6a -- the jpeg files
  343.         libpng-0.96 -- the libpng files
  344.           zlib-1.0.4 -- the zlib files
  345.         Mac Specific -- the mac files
  346.  
  347. Once you get everything laid out, take a look at the file Worksheet in the 
  348. mac specific folder for steps to build the system.
  349.  
  350.  
  351. Known Bugs
  352.  
  353. ã If a PostScript redefines 'quit' or if Ghostscript is seriously locked in 
  354. an infinite loop you won't be able to quit.
  355.  
  356. ã Preferences files moved to a machine with a smaller screen may have 
  357. problems if window positions were remembered
  358.  
  359. ã Open AppleEvent doesn't do a sanity check on file type
  360.  
  361. ã Quit AppleEvent processing should be more intelligent
  362.  
  363. ã The font and file directories can't be aliases
  364.  
  365. ã Low-memory situations are not always handled gracefully.  If it crashes 
  366. on you, try changing the Settings to use less memory per image, not opening 
  367. as many images at a time, and/or increasing the memory allocated to the 
  368. application.
  369.  
  370. ã There is a rare symptom whereby the windows of the Finder redraw into the 
  371. graphic windows.  A crash often follows.
  372.  
  373.  
  374. Coming Enhancements
  375.  
  376. Features for future releases that I'm considering (these are in no 
  377. particular order):
  378.  
  379. ã Handling of Macintosh installed Type 1 Fonts
  380. ã Using QuickDraw to render TrueType fonts
  381. ã Printing (by sending the PS source)
  382. ã Offer Page menu on PDF files
  383. ã Scrolling the image via the HyperCard/MacPaint hand user interface
  384. ã Page settings as a 'windoid' palette
  385. ã Better dialog box look and layout for all dialogs
  386. ã Option key on Open AppleEvent to mean ask for settings first 
  387. ã Rotation and Cropping as device settings
  388. ã AppleEvents for controling settings and sending PostScript
  389. ã Command files (non-rendering script files)
  390. ã Mac device image options: 8bit gray scale and 4bit & 24bit color
  391.  
  392. Credits
  393.  
  394. MacGS-510 was written by Jeff Schindall.  While it is a substantially 
  395. updated port of Ghostscript to the Macintosh, the previous port by Mark 
  396. Lentczner served as inspiration and a starting point.
  397.  
  398. Mac GS Viewer 1.0 was written by Mark Lentczner of Glyphic Technology.  
  399. While it is a substantially a new port of Ghostscript to the Macintosh, the 
  400. previous port by Martin Fong served as inspiration and a starting point.
  401.  
  402. Ghostscript was created by L. Peter Deutsch of Aladdin Enterprises.  Please 
  403. see the document README in the files directory of the release for more 
  404. information.
  405.  
  406. MacGS could not have happend without the faithful help of over fifty beta 
  407. testers.  A tip'o'the mouse to them !
  408.  
  409.  
  410. MacGS is distributed under the Aladdin Ghostscript Free Public License.  
  411. See the file PUBLIC in the files directory of the relase for the full text.  
  412. As a piece of free software, neither Aladdin Enterprises.  If you have 
  413. questions please try the news group comp.lang.postscript, where Ghostscript 
  414. is discussed.
  415.  
  416. If you are interested in licensing all or any part of the Ghostscript 
  417. system, including MacGS, please the information in the file README in the 
  418. files directory of the release.
  419.  
  420.  
  421.  
  422. Contacts
  423.  
  424. MacGS is part of the Ghostscript system which is discussed on the Internet 
  425. news group: comp.lang.postscript
  426.  
  427. Ghostscript's public FTP site is:
  428.     ftp.cs.wisc.edu
  429. in the directory:
  430.     /pub/ghost
  431.  
  432. Information on Ghostscript can be found on-line at:
  433.     http://www.cs.wisc.edu/~ghost/index.html
  434.  
  435. Aladdin Systems can be reached at:
  436.     ghost@aladdin.com
  437.  
  438. Macintosh related questions should be directed to
  439.     mac-gs@aladdin.com
  440.